//
//  CZBaseViewController.swift
//  SinaWeiBo
//
//  Created by 刘幼寒 on 5/13/16.
//  Copyright © 2016 刘幼寒. All rights reserved.
//

import UIKit

//根据用户使用登录显示不同的（1.tableView 2.显示自定义的访客视图）
//6.遵守代理协议
class CZBaseViewController: UITableViewController//, CZVisitorViewDelegate
{
    var userLogin: Bool = false
    override func loadView()
    {
        if userLogin
        {
            //显示按照正常的流程(tableView)
            super.loadView()
        }
        else
        {
            //用户没有登录（自己搞一个界面）
            view = visitorView
            
            //5.设置控制器成为visitorView的代理
            visitorView.delegate = self
            
            //根据不同的控制器设置不同的访客内容,self是子类的类型，因为我们创建的都是子类
            //is：判断一个对象是否是指定类型
            if self is CZHomeViewController
            {
                //开启转轮旋转动画
                visitorView.startRotationAnimation()
            }
            else if self is CZMessageViewController
            {
                //设置访客视图
                visitorView.setupvisionInfo("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
            }
            else if self is CZDiscoverViewController
            {
                visitorView.setupvisionInfo("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与事实潮流擦肩而过")
            }
            else if self is CZProfileViewController
            {
                visitorView.setupvisionInfo("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这，展示给别人")
            }
            
            self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidClickRegister")
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidClickLogin")
            
            
        }
    }
    
    //7.实现代理方法
//    func visitorViewDidClickRegister()
//    {
//        let VC = UIViewController()
//        VC.view.backgroundColor = UIColor.orangeColor()
//        presentViewController(VC, animated: true) { () -> Void in
//            VC.view.backgroundColor = UIColor.redColor()
//        }
//    }
//    
//    func visitorViewDidClickLogin() {
//        print("123")
//    }
    
    //MARK: - 懒加载
    /**
    *  访客视图
    */
 /// private私有，除了这个文件外，别人不知道有这个属性或方法，和oc里面将属性或方法定义在.m里面一样
    lazy var visitorView: CZVisitorView = CZVisitorView()
    
}

extension CZBaseViewController: CZVisitorViewDelegate
{
        func visitorViewDidClickRegister()
        {
            
            
            //测试时用的代码
//            let VC = UIViewController()
//            VC.view.backgroundColor = UIColor.orangeColor()
//            presentViewController(VC, animated: true) { () -> Void in
//                VC.view.backgroundColor = UIColor.redColor()
//            }
        }
    
        func visitorViewDidClickLogin()
        {
            //点击登录的时候modal出授权控制器
            let oauthVC = CZOauthController()
            let oauthNaVc = UINavigationController(rootViewController: oauthVC)
            self.presentViewController(oauthNaVc, animated: true, completion: nil)
            
            
            
            
            //测试时用的代码
//            print("123")
        }

}











